
package com.insigma.business.qrcode.soldier._consumer.impl;


import com.insigma.business.qrcode.common.template.BasePagingResponse;
import com.insigma.business.qrcode.common.vo.BaseDeleteRequest;
import com.insigma.business.qrcode.common.vo.BaseResponse;
import com.insigma.business.qrcode.soldier.dto.*;
import com.insigma.business.qrcode.soldier.request.*;
import com.insigma.business.qrcode.soldier._consumer.SoldierApplyInfoConsumer;
import com.insigma.business.qrcode.soldier._provider.SoldierApplyInfoProvider;
import org.springframework.stereotype.Service;

import javax.annotation.Resource;
import java.util.List;


@Service("soldierApplyInfoConsumer")
public class SoldierApplyInfoConsumerImpl implements SoldierApplyInfoConsumer {

    @Resource
    private SoldierApplyInfoProvider soldierApplyInfoProvider;

    
    @Override
    public BasePagingResponse<List<SoldierApplyInfoDTO>> searchSoldierApplyInfo(final SoldierApplyInfoSearchRequest searchRequest) {
        return soldierApplyInfoProvider.searchSoldierApplyInfo(searchRequest);
    }

   
    @Override
    public BaseResponse<SoldierApplyInfoDTO> getSoldierApplyInfo(final BaseGetRequest baseGetRequest) {
        return soldierApplyInfoProvider.getSoldierApplyInfo(String.valueOf(baseGetRequest));
    }

    
    @Override
    public BaseResponse<String> insertSoldierApplyInfo(final SoldierApplyInfoInsertRequest insertRequest) {
        return soldierApplyInfoProvider.insertSoldierApplyInfo(insertRequest);
    }

    
    @Override
    public BaseResponse<Integer> updateSoldierApplyInfo(final SoldierApplyInfoUpdateRequest updateRequest) {
        return soldierApplyInfoProvider.updateSoldierApplyInfo(updateRequest);
    }

    
    @Override
    public BaseResponse<Integer> deleteSoldierApplyInfo(final BaseDeleteRequest deleteRequest) {
        return soldierApplyInfoProvider.deleteSoldierApplyInfo(deleteRequest);
    }

    @Override
    public BaseResponse<String> saveSoldierApplyInfo(SoldierApplyInfoInsertRequest insertRequest) {
        BaseResponse<String> id = soldierApplyInfoProvider.saveSoldierApplyInfo(insertRequest);
        return id;
    }

    @Override
    public BaseResponse<String> checkSoldierApplyInfoBySoldierId(String soldierId) {
        return soldierApplyInfoProvider.checkSoldierApplyInfoBySoldierId(soldierId);
    }

    @Override
    public BasePagingResponse<List<SoldierApplyInfoDTO>> listWaitTasks(SoldierApplyInfoSearchRequest request) {
        BasePagingResponse<List<SoldierApplyInfoDTO>> listBaseResponse = soldierApplyInfoProvider.listWaitTask(request);
        return listBaseResponse;
    }

    @Override
    public BasePagingResponse<List<SoldierApplyInfoDTO>> listDoneTasks(SoldierApplyInfoSearchRequest request) {
        BasePagingResponse<List<SoldierApplyInfoDTO>> listBaseResponse = soldierApplyInfoProvider.listDoneTask(request);

        return listBaseResponse;
    }

    @Override
    public BaseResponse<Boolean> completeTask(SoldierApplyInfoInsertRequest request) {
        return soldierApplyInfoProvider.completeTask(request);
    }

    @Override
    public BaseResponse<SoldierApplyInfoDTO> getSoldierApplyInfoById(String id) {
        return soldierApplyInfoProvider.getSoldierApplyInfoById(id);
    }

    @Override
    public BaseResponse<String> saveSoldierApplyInfoByFWZ(SoldierApplyInfoInsertRequest soldierApplyInfoInsertRequest) {
        return soldierApplyInfoProvider.saveSoldierApplyInfoByFWZ(soldierApplyInfoInsertRequest);
    }

    @Override
    public BaseResponse<SoldierApplyInfoDTO> getSoldierApplyInfoBySoldierId(String userId) {
        return soldierApplyInfoProvider.getSoldierApplyInfoBySoldierId(userId);
    }

    @Override
    public BaseResponse<ContactNoDTO> queryDistinctContactNo(SimpleApiRequest request) {
        return soldierApplyInfoProvider.queryDistinctContactNo(request);
    }

    @Override
    public BaseResponse<String> reApplySoldierQR(SoldierApplyInfoUpdateRequest request) {
        return soldierApplyInfoProvider.reApplySoldierQR(request);
    }


    public BaseResponse<ExcelResultBO> queryQRSuccessExcel(SimpleApiRequest request) {
        return soldierApplyInfoProvider.queryQRSuccessExcel(request);
    }


    public BaseResponse<ExcelResultBO> querySoldierCunQrStatsExcel(SimpleApiRequest request) {
        return soldierApplyInfoProvider.querySoldierCunQrStatsExcel(request);
    }

    public BaseResponse<ExcelResultBO> querySoldierManualCheckDetailExcel(SimpleApiRequest request) {
        return soldierApplyInfoProvider.querySoldierManualCheckDetailExcel(request);
    }


    public BaseResponse<ExcelResultBO> querySoldierManualCheckDealStatsExcel(SimpleApiRequest request) {
        return soldierApplyInfoProvider.querySoldierManualCheckDealStatsExcel(request);
    }

    @Override
    public BaseResponse<Integer> deleteUnsuccessfulApply(BaseDeleteRequest deleteRequest) {
        return soldierApplyInfoProvider.deleteUnsuccessfulApply(deleteRequest);
    }

    @Override
    public BaseResponse<String> saveSoldierApplyInfoOfOuterTemporary(SoldierApplyInfoInsertRequest soldierApplyInfoInsertRequest) {
        return soldierApplyInfoProvider.saveSoldierApplyInfoOfOuterTemporary(soldierApplyInfoInsertRequest);
    }

    @Override
    public BaseResponse<Integer> getRemainingTimesOfOuterTemporary(String soldierId) {
        return soldierApplyInfoProvider.getRemainingTimesOfOuterTemporary(soldierId);
    }

    @Override
    public BaseResponse<String> saveSoldierApplyInfoOfOutsider(SoldierApplyInfoInsertRequest soldierApplyInfoInsertRequest) {
        return soldierApplyInfoProvider.saveSoldierApplyInfoOfOutsider(soldierApplyInfoInsertRequest);
    }

    @Override
    public BaseResponse<String> reApplySoldierQROfOutsider(SoldierApplyInfoUpdateRequest request) {
        return soldierApplyInfoProvider.reApplySoldierQROfOutsider(request);
    }

    @Override
    public BaseResponse<String> updateApplyInfoOfOutsider(SoldierApplyInfoUpdateRequest request) {
        return soldierApplyInfoProvider.updateApplyInfoOfOutsider(request);
    }


    public BaseResponse<String> insertCzSoldier(ImportCzApiRequest request) {
        return soldierApplyInfoProvider.insertCzSoldier(request);
    }
    public BaseResponse<String> deleteCzSoldier(ImportCzApiRequest request) {
        return soldierApplyInfoProvider.deleteCzSoldier(request);
    }

    @Override
    public BasePagingResponse<List<SoldierApplyInfoDTO>> searchCzApplyInfo(SoldierApplyInfoSearchRequest searchRequest) {
        return soldierApplyInfoProvider.searchCzApplyInfo(searchRequest);
    }

    @Override
    public BasePagingResponse<List<SoldierApplyInfoDTO>> getCheckApplyInfo(SoldierApplyInfoSearchRequest searchRequest){
        return soldierApplyInfoProvider.searchAuditInfo(searchRequest);
    }

    @Override
    public BaseResponse<Boolean> updateSoldierApplyInfoAssignCode(SoldierApplyInfoAssignCodeUpdateRequest request) {
        return soldierApplyInfoProvider.updateSoldierApplyInfoAssignCode(request);
    }
}
